home *** CD-ROM | disk | FTP | other *** search
/ Quick PC 61 / Quick PC 61.iso / I386 / SASETUP.MSI / F77718_Ftp_LogSettings.asp < prev    next >
Encoding:
Text File  |  2003-02-21  |  44.0 KB  |  1,359 lines

  1. <%@ Language=VBScript     %>
  2.  
  3. <%    Option Explicit       %>
  4.  
  5. <%
  6.     '------------------------------------------------------------------------- 
  7.     ' Ftp_LogSettings.asp: set the logs for FTP sites
  8.     '
  9.     ' Copyright (c) Microsoft Corporation.  All rights reserved. 
  10.     '
  11.     ' Date                Description    
  12.     ' 06-11-2000        Created date
  13.     '-------------------------------------------------------------------------
  14. %>
  15.  
  16. <!-- #include virtual="/admin/inc_framework.asp" -->
  17. <!-- #include virtual="/admin/wsa/inc_wsa.asp" -->
  18. <!-- #include virtual="/admin/wsa/inc_wsa.js" -->
  19. <!-- #include file="inc_MasterWeb.js" -->
  20.  
  21. <% 
  22.     '-------------------------------------------------------------------------
  23.     ' Form Variables
  24.     '-------------------------------------------------------------------------
  25.     Dim F_strWebRoorDir                         'Root Dir for the form
  26.     Dim F_chkEnableLogging
  27.     Dim F_selectActiveFormat
  28.     Dim F_optLogPeriod
  29.     Dim F_FileSize
  30.     Dim F_LocalTime
  31.     Dim F_LogFileDir
  32.     Dim F_IISSites
  33.     Dim F_selectTasks
  34.     Dim L_FILE
  35.     'Dim F_SiteCriteria
  36.     Dim G_objSites
  37.     Dim FTPInstalled
  38.  
  39.     '-------------------------------------------------------------------------
  40.     ' Global Variables
  41.     '-------------------------------------------------------------------------
  42.     Dim G_objService    
  43.  
  44.     '-------------------------------------------------------------------------
  45.     ' Start of localization content
  46.     '-------------------------------------------------------------------------    
  47.     Dim L_INVALID_DIR_FORMAT_ERRORMESSAGE
  48.     Dim L_INVALID_DIR_ERRORMESSAGE
  49.     Dim L_DIRPATHEMPTY_ERRORMESSAGE
  50.     Dim L_INFORMATION_ERRORMESSAGE
  51.     Dim L_FILEINFORMATION_ERRORMESSAGE
  52.     Dim L_FAILED_CREATE_DIR_ERRORMESSAGE
  53.     Dim L_NOT_NTFS_DRIVE_ERRORMESSAGE
  54.     Dim L_INVALID_DRIVE_ERRORMESSAGE
  55.     Dim L_DIRQUOTAERRORMESSAGE
  56.     Dim L_FAIL_TO_SET_LOGS
  57.     Dim L_APPLYTOALLFTPTEXT
  58.     Dim L_APPLYTOINHERITEDFTPTEXT
  59.     Dim L_LOGFILEDIR
  60.     Dim L_LOCALTIME
  61.     Dim L_ENABLELOGGING
  62.     Dim L_ACTIVELOGFORMAT
  63.     Dim L_IISLOGFORMAT
  64.     Dim L_COMMONLOGFORMAT
  65.     Dim L_ODBCLOG
  66.     Dim L_EXTENDEDLOGFILE
  67.     Dim L_NEWLOGTIME
  68.     Dim L_HOURLY
  69.     Dim L_MONTHLY
  70.     Dim L_DAILY
  71.     Dim L_UNLIMITEDFILESIZE
  72.     Dim L_WEEKLY
  73.     Dim L_WHENFILESIZE
  74.     Dim L_MB
  75.     Dim L_FTPLOG_TEXT
  76.     'Dim L_FTPLOGSDIRHELP
  77.     Dim L_FTPNOTINSTALLED_ERRORMESSAGE
  78.     
  79.     Dim L_ID_NOTEMPTY_ERROR_MESSAGE
  80.     Dim L_SITE_IDENTIFIER_EMPTY_TEXT
  81.  
  82.     
  83.     L_FTPLOG_TEXT                        =    GetLocString("GeneralSettings.dll", "4042004E", "")
  84.     'L_FTPLOGSDIRHELP                    =    GetLocString("GeneralSettings.dll", "40420050", "")
  85.     L_ENABLELOGGING                        =    GetLocString("GeneralSettings.dll", "40420039", "")
  86.     L_ACTIVELOGFORMAT                    =    GetLocString("GeneralSettings.dll", "4042003A", "")
  87.     L_IISLOGFORMAT                        =    GetLocString("GeneralSettings.dll", "4042003B", "")
  88.     L_COMMONLOGFORMAT                    =    GetLocString("GeneralSettings.dll", "4042003C", "")
  89.     L_ODBCLOG                            =    GetLocString("GeneralSettings.dll", "4042003D", "")
  90.     L_EXTENDEDLOGFILE                    =    GetLocString("GeneralSettings.dll", "4042003E", "")
  91.     L_NEWLOGTIME                        =    GetLocString("GeneralSettings.dll", "4042003F", "")
  92.     L_HOURLY                            =    GetLocString("GeneralSettings.dll", "40420040", "")
  93.     L_MONTHLY                            =    GetLocString("GeneralSettings.dll", "40420041", "")
  94.     L_DAILY                                =    GetLocString("GeneralSettings.dll", "40420042", "")
  95.     L_UNLIMITEDFILESIZE                    =    GetLocString("GeneralSettings.dll", "40420043", "")
  96.     L_WEEKLY                            =    GetLocString("GeneralSettings.dll", "40420044", "")
  97.     L_WHENFILESIZE                        =    GetLocString("GeneralSettings.dll", "40420045", "")
  98.     L_MB                                =    GetLocString("GeneralSettings.dll", "40420046", "")
  99.     L_LOCALTIME                            =    GetLocString("GeneralSettings.dll", "40420047", "")
  100.     L_LOGFILEDIR                        =    GetLocString("GeneralSettings.dll", "40420048", "")
  101.     L_APPLYTOALLFTPTEXT                    =    GetLocString("GeneralSettings.dll", "4042002B", "")
  102.     L_APPLYTOINHERITEDFTPTEXT            =    GetLocString("GeneralSettings.dll", "4042002C", "")
  103.     L_FAIL_TO_SET_LOGS                    =    GetLocString("GeneralSettings.dll", "C0420049", "")
  104.     L_INVALID_DRIVE_ERRORMESSAGE        =    GetLocString("GeneralSettings.dll", "C0420022", "")
  105.     L_NOT_NTFS_DRIVE_ERRORMESSAGE        =    GetLocString("GeneralSettings.dll", "C042000D", "")
  106.     L_FAILED_CREATE_DIR_ERRORMESSAGE    =    GetLocString("GeneralSettings.dll", "C042000E", "")
  107.     L_FILEINFORMATION_ERRORMESSAGE        =   GetLocString("GeneralSettings.dll", "C042000C", "")
  108.     L_INFORMATION_ERRORMESSAGE            =    GetLocString("GeneralSettings.dll", "C042000F", "")
  109.     L_INVALID_DIR_FORMAT_ERRORMESSAGE    =    GetLocString("GeneralSettings.dll", "40420004", "")
  110.     L_INVALID_DIR_ERRORMESSAGE            =    GetLocString("GeneralSettings.dll", "C042004B", "")
  111.     L_DIRPATHEMPTY_ERRORMESSAGE            =    GetLocString("GeneralSettings.dll", "C042004C", "")
  112.     L_FILE                                =    GetLocString("GeneralSettings.dll", "4042004A", "")
  113.     L_FTPNOTINSTALLED_ERRORMESSAGE        =    GetLocString("GeneralSettings.dll", "C0420058", "")
  114.     '-------------------------------------------------------------------------
  115.     'END of localization content
  116.     '-------------------------------------------------------------------------
  117.     
  118.     'Create property page
  119.     Dim rc
  120.     Dim page
  121.  
  122.     rc=SA_CreatePage(L_FTPLOG_TEXT,"",PT_PROPERTY,page)
  123.    
  124.     'Serve the page
  125.     If(rc=0) then
  126.         SA_ShowPage(Page)
  127.     End if
  128.         
  129.     '-------------------------------------------------------------------------
  130.     'Function:                OnInitPage()
  131.     'Description:            Called to signal first time processing for this page.
  132.     '                        Use this method to do first time initialization tasks
  133.     'Input Variables:        PageIn,EventArg
  134.     'Output Variables:        None
  135.     'Returns:                True/False
  136.     'Global Variables:        None
  137.     '-------------------------------------------------------------------------
  138.     Public Function OnInitPage(ByRef PageIn,ByRef EventArg)        
  139.         InitObjects()
  140.         
  141.         if FTPInstalled = false then
  142.             ServeFailurePage L_FTPNOTINSTALLED_ERRORMESSAGE ,sReturnURL
  143.         end if    
  144.         
  145.         SetVariablesFromSystem()
  146.         OnInitPage = True
  147.     End Function
  148.     
  149.     '-------------------------------------------------------------------------
  150.     'Function:                OnServePropertyPage()
  151.     'Description:            Called when the page needs to be served.Use this 
  152.     '                        method to serve content
  153.     'Input Variables:        PageIn,EventArg
  154.     'Output Variables:        None
  155.     'Returns:                True/False
  156.     'Global Variables:        None
  157.     '-------------------------------------------------------------------------
  158.     Public Function OnServePropertyPage(ByRef PageIn,Byref EventArg)
  159.         Call ServeCommonJavaScript()
  160.         Call ServePage()
  161.         OnServePropertyPage = True
  162.     End Function
  163.     
  164.     '-------------------------------------------------------------------------
  165.     'Function:                OnPostBackPage()
  166.     'Description:            Called to signal that the page has been posted-back.
  167.     'Input Variables:        PageIn,EventArg
  168.     'Output Variables:        None
  169.     'Returns:                True/False
  170.     'Global Variables:        None
  171.     '-------------------------------------------------------------------------
  172.     Public Function OnPostBackPage(ByRef PageIn ,ByRef EventArg)
  173.         OnPostBackPage = True
  174.     End Function
  175.         
  176.     '-------------------------------------------------------------------------
  177.     'Function:                OnSubmitPage()
  178.     'Description:            Called when the page has been submitted for processing.
  179.     '                        Use this method to process the submit request.
  180.     'Input Variables:        PageIn,EventArg
  181.     'Output Variables:        None
  182.     'Returns:                True/False
  183.     'Global Variables:        None
  184.     '-------------------------------------------------------------------------
  185.     Public Function OnSubmitPage(ByRef PageIn ,ByRef EventArg)
  186.         OnSubmitPage = ServeVariablesFromForm()
  187.     End Function
  188.            
  189.     '-------------------------------------------------------------------------
  190.     'Function:                OnClosePage()
  191.     'Description:            Called when the page is about closed.Use this method
  192.     '                        to perform clean-up processing
  193.     'Input Variables:        PageIn,EventArg
  194.     'Output Variables:        None
  195.     'Returns:                True/False
  196.     'Global Variables:        None
  197.     '-------------------------------------------------------------------------
  198.     Public Function OnClosePage(ByRef PageIn ,ByRef EventArg)
  199.         OnClosePage = TRUE
  200.     End Function     
  201.     
  202.     '-------------------------------------------------------------------------
  203.     'Function:                ServeCommonJavaScript
  204.     'Description:            Serves in initialiging the values,setting the form
  205.     '                        data and validating the form values
  206.     'Input Variables:        None
  207.     'Output Variables:        None
  208.     'Returns:                True/False
  209.     'Global Variables:        None
  210.     '-------------------------------------------------------------------------
  211.     Function ServeCommonJavaScript()
  212. %>        
  213.         <!-- #include file="inc_MasterWeb.js" -->
  214.  
  215.         <script language="JavaScript">    
  216.          function ValidatePage() 
  217.             { 
  218.                  // validate directory
  219.                  
  220.                  var FTPinst = "<%=FTPInstalled%>";              
  221.                 if (FTPinst == "True")
  222.                 {                    
  223.                     var strID = "";
  224.                     strID = document.frmTask.txtLogFileDir.value;
  225.             
  226.                     var strIndex = strID.indexOf("\\\\");
  227.                     var index = strID.indexOf(":\\",4);
  228.                     var indexColon = strID.indexOf(":",3);
  229.                     if (strIndex > 0 || index  > 0 || indexColon > 0 )
  230.                     {
  231.                         SA_DisplayErr("<%=Server.HTMLEncode(SA_EscapeQuotes(L_INVALID_DIR_FORMAT_ERRORMESSAGE))%>");
  232.                         document.frmTask.txtLogFileDir.focus();
  233.                         return false;
  234.                     }
  235.                     
  236.                     if (document.frmTask.txtFileSize.disabled==false)
  237.                     {    
  238.                         var strFileSize = document.frmTask.txtFileSize.value; 
  239.                         if (strFileSize == "" || strFileSize == 0)
  240.                         {    
  241.                             document.frmTask.txtFileSize.value = 1;
  242.                             return true;
  243.                         }
  244.                     }        
  245.                     // validate site directory                 
  246.                     if (!(checkKeyforValidCharacters(strID)))
  247.                             return false;             
  248.              
  249.                     UpdateHiddenVariables();
  250.                     return true;
  251.                 }
  252.             }
  253.         
  254.             function checkKeyforValidCharacters(strID)
  255.             {    
  256.                             
  257.                 var len = strID.length;
  258.                 var charAtPos;
  259.                 if(len > 0)
  260.                 {        
  261.                     for(var i=0; i<len;i++)
  262.                     {
  263.                       charAtPos = strID.charCodeAt(i);                        
  264.                         if(charAtPos ==47 || charAtPos == 42 || charAtPos == 63 || charAtPos == 34 || charAtPos == 60 || charAtPos == 62 || charAtPos == 124 || charAtPos == 91 || charAtPos == 93 || charAtPos == 59 || charAtPos == 43 || charAtPos == 61 || charAtPos == 44)
  265.                         {    
  266.                             SA_DisplayErr("<%=Server.HTMLEncode(SA_EscapeQuotes(L_INVALID_DIR_ERRORMESSAGE))%>");
  267.                             document.frmTask.txtLogFileDir.value = strID;
  268.                             document.frmTask.txtLogFileDir.focus();
  269.                             return false;
  270.                             
  271.                         }
  272.                     }                
  273.                     return true;
  274.                 }
  275.                 else 
  276.                 {    
  277.                     var enableLogging = document.frmTask.chkEnableLogging.checked;
  278.                     if (enableLogging == true)                
  279.                     {                                
  280.                         SA_DisplayErr("<%=Server.HTMLEncode(SA_EscapeQuotes(L_DIRPATHEMPTY_ERRORMESSAGE))%>");
  281.                         document.frmTask.txtLogFileDir.focus();
  282.                         return false;
  283.                     }
  284.                     else
  285.                         return true;
  286.                 }             
  287.             }
  288.         
  289.         
  290.             //init function  
  291.             function Init() 
  292.             {       
  293.                 
  294.                 var FTPinst = "<%=Server.HTMLEncode(FTPInstalled)%>";              
  295.                 if (FTPinst == "True")
  296.                 {                    
  297.                     
  298.                     var ActiveFormat = "<%= Server.HTMLEncode(F_selectActiveFormat) %>";                              
  299.                                   
  300.                     if (ActiveFormat == "<%= Server.HTMLEncode(CONST_MSIISLOGFILE_FORMAT) %>")
  301.                     {
  302.                         document.frmTask.selectActiveFormat.selectedIndex = 0;                    
  303.                     }
  304.                     else if (ActiveFormat == "<%= Server.HTMLEncode(CONST_ODBCLOGFILE_FORMAT) %>")                
  305.                     {
  306.                         document.frmTask.selectActiveFormat.selectedIndex = 1;
  307.                     }    
  308.                     else if (ActiveFormat == "<%= Server.HTMLEncode(CONST_W3CEXLOGFILE_FORMAT) %>")
  309.                     {
  310.                         document.frmTask.selectActiveFormat.selectedIndex = 2;
  311.                     }
  312.                         
  313.                     var myValue,i;
  314.                     myValue = document.frmTask.selectActiveFormat.options[document.frmTask.selectActiveFormat.selectedIndex].value;
  315.             
  316.                     if(myValue == "<%= Server.HTMLEncode(CONST_ODBCLOGFILE_FORMAT) %>")
  317.                     {
  318.                         
  319.                         var len = document.frmTask.optLogPeriod.length;
  320.                         for(i=0;i<len;i++)
  321.                         {
  322.                             document.frmTask.optLogPeriod[i].disabled=true;
  323.                             document.frmTask.optLogPeriod[i].checked = false;
  324.                         }
  325.                         
  326.                         document.frmTask.txtLogFileDir.disabled = true;
  327.                         document.frmTask.chkLocalTime.disabled = true;
  328.                         document.frmTask.txtFileSize.disabled = true;
  329.                         document.frmTask.txtFileSize.value = "";
  330.                     }
  331.                                             
  332.                 
  333.                     if(myValue == "<%=Server.HTMLEncode(CONST_W3CEXLOGFILE_FORMAT)%>" || 
  334.                        myValue == "<%=Server.HTMLEncode(CONST_MSIISLOGFILE_FORMAT)%>")
  335.                     {                    
  336.                         
  337.                         var len = document.frmTask.optLogPeriod.length;
  338.                         tempVal1 = document.frmTask.optLogPeriod[3].checked;
  339.                         tempVal2 = document.frmTask.optLogPeriod[5].checked;
  340.                         if(tempVal1 == true){
  341.                             document.frmTask.chkLocalTime.disabled = true;
  342.                             document.frmTask.txtFileSize.disabled = true;
  343.                             }            
  344.                         
  345.                         if(tempVal2 == true){
  346.                             document.frmTask.chkLocalTime.disabled = true;
  347.                             document.frmTask.txtFileSize.disabled = false;
  348.                             }                    
  349.                         else
  350.                         {
  351.                              if(!(myValue == "<%=Server.HTMLEncode(CONST_MSIISLOGFILE_FORMAT)%>"))
  352.                              {
  353.                                  if(document.frmTask.chkLocalTime.checked == true)
  354.                                 {
  355.                                     document.frmTask.chkLocalTime.disabled = false;
  356.                                     document.frmTask.chkLocalTime.checked = true;
  357.                                 }
  358.                                 else
  359.                                 {
  360.                                     
  361.                                     if(tempVal1 == true || tempVal2 == true)
  362.                                     {
  363.                                         document.frmTask.chkLocalTime.disabled = true;
  364.                                         document.frmTask.chkLocalTime.checked = false;
  365.                                     }
  366.                                     else
  367.                                     {
  368.                                         document.frmTask.chkLocalTime.disabled = false;
  369.                                         document.frmTask.chkLocalTime.checked = false;                                
  370.                                     }
  371.                                 }
  372.                             }     
  373.                         }        
  374.                              
  375.                         document.frmTask.txtLogFileDir.disabled = false;
  376.                         var len = document.frmTask.optLogPeriod.length;
  377.                         for(i=0;i<len;i++)
  378.                             document.frmTask.optLogPeriod[i].disabled=false;
  379.                     }
  380.                         
  381.                     var enableLogging = "<%= F_chkEnableLogging %>";
  382.                     if (enableLogging == "false")                
  383.                     {                                
  384.                             document.frmTask.txtLogFileDir.disabled = true;
  385.                             document.frmTask.chkLocalTime.disabled = true;
  386.                             document.frmTask.selectActiveFormat.disabled = true;                    
  387.                             
  388.                             var len = document.frmTask.optLogPeriod.length;
  389.                             for(i=0;i<len;i++)                    
  390.                                 document.frmTask.optLogPeriod[i].disabled=true;
  391.                                 
  392.                             document.frmTask.txtFileSize.disabled = true;    
  393.                     }    
  394.                         
  395.                 }                    
  396.                 else
  397.                 {
  398.                     
  399.                     document.frmTask.chkEnableLogging.disabled = true;
  400.                     document.frmTask.selectActiveFormat.disabled = true;                                                    
  401.                     var len = document.frmTask.optLogPeriod.length;
  402.                     for(i=0;i<len;i++)
  403.                     {
  404.                         document.frmTask.optLogPeriod[i].disabled=true;
  405.                     }
  406.                     document.frmTask.txtLogFileDir.disabled = true;
  407.                     document.frmTask.chkLocalTime.disabled = true;
  408.                     document.frmTask.chkLocalTime.checked = false
  409.                     document.frmTask.txtFileSize.disabled = true;
  410.                     document.frmTask.txtFileSize.value = "";
  411.                     //document.frmTask.optAllSites[0].disabled = true;
  412.                     //document.frmTask.optAllSites[1].disabled = true;
  413.                     
  414.                     return true;
  415.                 }            
  416.                 
  417.             }
  418.                         
  419.             function enableFileTextBox()
  420.             {            
  421.                 ClearErr();
  422.                 
  423.                 document.frmTask.txtFileSize.disabled = false;
  424.                 document.frmTask.txtFileSize.focus();
  425.                 var myValue,i;
  426.                 myValue = document.frmTask.selectActiveFormat.options[document.frmTask.selectActiveFormat.selectedIndex].value;            
  427.             
  428.                 
  429.                 if(myValue == "<%=Server.HTMLEncode(CONST_W3CEXLOGFILE_FORMAT)%>")
  430.                 {    
  431.                     var len = document.frmTask.optLogPeriod.length;
  432.                     tempVal1 = document.frmTask.optLogPeriod[3].checked;
  433.                     tempVal2 = document.frmTask.optLogPeriod[5].checked;
  434.                     if(tempVal1 == true){
  435.                         document.frmTask.chkLocalTime.disabled = true;
  436.                         document.frmTask.txtFileSize.disabled = true;
  437.                         return true;}            
  438.                     
  439.                     if(tempVal2 == true){
  440.                         document.frmTask.chkLocalTime.disabled = true;
  441.                         document.frmTask.txtFileSize.disabled = false;
  442.                         return true;}                    
  443.                     else{
  444.                          document.frmTask.chkLocalTime.disabled = false;
  445.                          return true;}             
  446.                 }
  447.                 else{                
  448.                     tempVal1 = document.frmTask.optLogPeriod[3].checked;
  449.                     if(tempVal1 == true){
  450.                         document.frmTask.chkLocalTime.disabled = true;
  451.                         document.frmTask.txtFileSize.disabled = true;
  452.                         return true;}
  453.                     }        
  454.             }
  455.             
  456.             function DisableFileTextBox()
  457.             {    
  458.                 ClearErr();
  459.                 var myValue,i;
  460.                 myValue = document.frmTask.selectActiveFormat.options[document.frmTask.selectActiveFormat.selectedIndex].value;            
  461.             
  462.                 if(myValue == "<%=Server.HTMLEncode(CONST_W3CEXLOGFILE_FORMAT)%>")
  463.                 {    
  464.                     tempVal1 = document.frmTask.optLogPeriod[3].checked;
  465.                     tempVal2 = document.frmTask.optLogPeriod[5].checked;
  466.                     if(tempVal1 == true)
  467.                     {
  468.                         document.frmTask.chkLocalTime.disabled = true;
  469.                         document.frmTask.txtFileSize.disabled = true;                                                
  470.                         return true;
  471.                     }
  472.                     else if(tempVal2 == true)
  473.                     {
  474.                         document.frmTask.chkLocalTime.disabled = true;
  475.                         document.frmTask.txtFileSize.disabled = false;
  476.                         return true;
  477.                     }
  478.                     else
  479.                     {
  480.                         document.frmTask.chkLocalTime.disabled = false;
  481.                         document.frmTask.txtFileSize.disabled = true;
  482.                         return true;
  483.                     }
  484.                     
  485.                 }                
  486.                 else
  487.                 {
  488.                     document.frmTask.chkLocalTime.disabled = true;
  489.                     document.frmTask.txtFileSize.disabled = true;
  490.                 }
  491.             }
  492.                         
  493.             function EnableLogFile()
  494.             {
  495.                 ClearErr();
  496.                 var myValue,i;
  497.                 myValue = document.frmTask.selectActiveFormat.options[document.frmTask.selectActiveFormat.selectedIndex].value;
  498.                 
  499.             
  500.                 if(myValue == "<%=Server.HTMLEncode(CONST_W3CEXLOGFILE_FORMAT)%>")
  501.                 {
  502.                     document.frmTask.chkLocalTime.disabled = false;
  503.                     document.frmTask.txtLogFileDir.disabled = false;
  504.                     
  505.                     var len = document.frmTask.optLogPeriod.length;
  506.                     for(i=0;i<len;i++)
  507.                     {
  508.                         document.frmTask.optLogPeriod[i].disabled=false;                        
  509.                     }
  510.                         
  511.                     var temp = document.frmTask.optLogPeriod[5].checked;
  512.                     if (temp==true){
  513.                         enableFileTextBox();                        
  514.                         document.frmTask.chkLocalTime.checked = false;
  515.                         document.frmTask.chkLocalTime.disabled = true;}    
  516.                         
  517.                     var temp = document.frmTask.optLogPeriod[3].checked;
  518.                     if (temp==true){
  519.                         document.frmTask.txtFileSize.disabled = true;
  520.                         document.frmTask.chkLocalTime.disabled = true;}
  521.                         
  522.                         
  523.                     var len = document.frmTask.optLogPeriod.length;
  524.                     var j = 0;
  525.                     for(i=0;i<len;i++)
  526.                     {
  527.                         var temp = document.frmTask.optLogPeriod[i].checked;
  528.                         if(temp===false)
  529.                             j= j+1;
  530.                     }
  531.                     
  532.                     if(j==len)
  533.                         document.frmTask.optLogPeriod[2].checked = true;
  534.                                                 
  535.                         
  536.                     return true;                    
  537.                 }
  538.                 else if(myValue == "<%=Server.HTMLEncode(CONST_ODBCLOGFILE_FORMAT)%>")
  539.                 {
  540.                         DisableFileTextBox();
  541.                         var len = document.frmTask.optLogPeriod.length;
  542.                         for(i=0;i<len;i++)
  543.                         {
  544.                             document.frmTask.optLogPeriod[i].disabled=true;
  545.                             document.frmTask.optLogPeriod[i].checked=false;
  546.                         }
  547.                         document.frmTask.chkLocalTime.disabled = true;    
  548.                         document.frmTask.chkLocalTime.checked = false;
  549.                         document.frmTask.txtLogFileDir.disabled = true;
  550.                         document.frmTask.txtFileSize.value = "";
  551.                         return true;
  552.                 }                            
  553.                 else
  554.                 {    
  555.                     var len = document.frmTask.optLogPeriod.length;                    
  556.                     var temp = document.frmTask.optLogPeriod[5].checked;
  557.                     document.frmTask.chkLocalTime.disabled = true;
  558.                     if (myValue == "<%=Server.HTMLEncode(CONST_MSIISLOGFILE_FORMAT)%>")
  559.                     {
  560.                         document.frmTask.chkLocalTime.checked = false;
  561.                     }
  562.                     document.frmTask.txtLogFileDir.disabled = false;                                                                
  563.                     if (temp==true)
  564.                     {
  565.                         enableFileTextBox();
  566.                         document.frmTask.chkLocalTime.disabled = true;    
  567.                     }
  568.                     for(i=0;i<len;i++)
  569.                         document.frmTask.optLogPeriod[i].disabled=false;
  570.                     
  571.                     
  572.                     var len = document.frmTask.optLogPeriod.length;
  573.                     var j = 0;
  574.                     for(i=0;i<len;i++)
  575.                     {
  576.                         var temp = document.frmTask.optLogPeriod[i].checked;
  577.                         if(temp===false)
  578.                             j= j+1;
  579.                     }
  580.                     
  581.                     if(j==len)
  582.                         document.frmTask.optLogPeriod[2].checked = true;
  583.                         
  584.                     return true;
  585.                 }
  586.             }
  587.                         
  588.             
  589.             function enableAll()
  590.             {
  591.                 ClearErr();
  592.                 var myValue;
  593.                 myValue = document.frmTask.selectActiveFormat.options[document.frmTask.selectActiveFormat.selectedIndex].value;
  594.                                 
  595.                 if(document.frmTask.chkEnableLogging.checked == false)
  596.                 {
  597.                     
  598.                     document.frmTask.selectActiveFormat.disabled = true;            
  599.                     
  600.                     
  601.                     var len = document.frmTask.optLogPeriod.length;
  602.                     for(i=0;i<len;i++)
  603.                     {
  604.                         document.frmTask.optLogPeriod[i].disabled=true;
  605.                     }
  606.                     document.frmTask.txtLogFileDir.disabled = true;
  607.                     document.frmTask.chkLocalTime.disabled = true;
  608.                     document.frmTask.chkLocalTime.checked = false
  609.                     document.frmTask.txtFileSize.disabled = true;
  610.                     document.frmTask.txtFileSize.value = "";
  611.                     return true;
  612.                 }
  613.                 
  614.                 if( myValue == "<%=Server.HTMLEncode(CONST_ODBCLOGFILE_FORMAT) %>" )
  615.                 {                    
  616.                                         
  617.                     document.frmTask.selectActiveFormat.disabled = false;
  618.                     
  619.                     var len = document.frmTask.optLogPeriod.length;
  620.                     for(i=0;i<len;i++)
  621.                     {
  622.                         document.frmTask.optLogPeriod[i].disabled=true;
  623.                     }
  624.                     document.frmTask.txtLogFileDir.disabled = true;
  625.                     document.frmTask.chkLocalTime.disabled = true;
  626.                     document.frmTask.chkLocalTime.checked = false;
  627.                     document.frmTask.txtFileSize.value = "";
  628.                     document.frmTask.txtFileSize.disabled = true;
  629.                     return true;
  630.                 }
  631.                 else if( myValue == "<%=Server.HTMLEncode(CONST_W3CEXLOGFILE_FORMAT)%>" )
  632.                 {
  633.                     var tempVal1 = document.frmTask.optLogPeriod[3].checked;
  634.                     var tempVal2 = document.frmTask.optLogPeriod[5].checked;
  635.                     if(tempVal1 == true)
  636.                     {
  637.                         document.frmTask.chkLocalTime.disabled = true;
  638.                         document.frmTask.txtFileSize.disabled = true;
  639.                     }            
  640.                     else if(tempVal2 == true)
  641.                     {
  642.                         document.frmTask.chkLocalTime.disabled = true;
  643.                         document.frmTask.txtFileSize.disabled = false;
  644.                     }                    
  645.                     else
  646.                     {    
  647.                         document.frmTask.chkLocalTime.disabled = false;
  648.                     }
  649.                 }
  650.                 else                
  651.                 {
  652.                     document.frmTask.chkLocalTime.disabled = true;
  653.                 }
  654.                 document.frmTask.selectActiveFormat.disabled = false;
  655.                 var len = document.frmTask.optLogPeriod.length;
  656.                 for(i=0;i<len;i++)
  657.                 {
  658.                     document.frmTask.optLogPeriod[i].disabled=false;
  659.                 }
  660.                 document.frmTask.txtLogFileDir.disabled = false;
  661.                     
  662.                 var temp = document.frmTask.optLogPeriod[5].checked;
  663.                 if (temp==true)
  664.                 {
  665.                     document.frmTask.txtFileSize.disabled = false;
  666.                     document.frmTask.chkLocalTime.disabled = true;
  667.                 }    
  668.                     
  669.             }
  670.             
  671.             
  672.             function SetData()
  673.             {                            
  674.                 UpdateHiddenVariables();
  675.             }
  676.             
  677.             function UpdateHiddenVariables()
  678.             {
  679.                 var FTPinst = "<%=FTPInstalled%>";              
  680.                 if (FTPinst == "True")
  681.                 {                                    
  682.                     document.frmTask.hdnEnableLog.value = document.frmTask.chkEnableLogging.checked;
  683.                     if (document.frmTask.chkLocalTime.disabled == false)
  684.                         document.frmTask.fileRollOver.value = document.frmTask.chkLocalTime.checked;
  685.                     else
  686.                         document.frmTask.fileRollOver.value = false;            
  687.                 }
  688.             }
  689.             
  690.             function checkforEmptyfield()
  691.             {
  692.                 var strFileSize = document.frmTask.txtFileSize.value; 
  693.                 if (strFileSize == "")
  694.                     document.frmTask.txtFileSize.value = 1;
  695.                 else if (strFileSize == 0)
  696.                     document.frmTask.txtFileSize.value = 1;
  697.             }
  698.             
  699.         </script>    
  700.         
  701. <%    End Function
  702.    
  703.     '-------------------------------------------------------------------------
  704.     'Function:                ServePage()
  705.     'Description:            For displaying outputs HTML to the user
  706.     'Input Variables:        None    
  707.     'Output Variables:        None
  708.     'Returns:                None
  709.     'Global Variables:        L_DELETE_CONFIRM_TEXT
  710.     '-------------------------------------------------------------------------
  711.     Function ServePage
  712. %>
  713.         <table border=0 CELLSPACING=0 CELLPADDING=0 align=left class="TasksBody">
  714.             <TR>
  715.                 <td>
  716.                     <% if F_chkEnableLogging = "true" then %>
  717.                     <input type=checkbox name=chkEnableLogging checked tabIndex=1 onclick="enableAll()" value="ON">
  718.                     <%else%>
  719.                     <input type=checkbox name=chkEnableLogging tabIndex=1 onclick="enableAll()" value="ON">
  720.                     <%end if%>
  721.                 </td>
  722.                 <td nowrap class="TasksBody">
  723.                     <%= L_ENABLELOGGING %>
  724.                 </td>
  725.             </TR>
  726.             <TR>
  727.                 <td></td>
  728.                 <TD nowrap class="TasksBody"> 
  729.                     <%= L_ACTIVELOGFORMAT %>
  730.                 </td>
  731.                 <td colspan=4>
  732.                     <SELECT name=selectActiveFormat class="formField" size=1 tabIndex=2 onChange="EnableLogFile()" value="<%=Server.HTMLEncode(F_selectActiveFormat)%>">
  733.                         <OPTION  VALUE="<%=Server.HTMLEncode(CONST_MSIISLOGFILE_FORMAT) %>"><%=L_IISLOGFORMAT %></OPTION>
  734.                         <OPTION selected value="<%=Server.HTMLEncode(CONST_ODBCLOGFILE_FORMAT) %>" ><%= L_ODBCLOG %></OPTION>
  735.                         <OPTION value="<%=Server.HTMLEncode(CONST_W3CEXLOGFILE_FORMAT) %>" ><%= L_EXTENDEDLOGFILE %></OPTION>
  736.                     </SELECT>
  737.                 </TD>
  738.             </TR>
  739.             <TR>
  740.                 <td></td>
  741.                 <TD nowrap class="TasksBody"> 
  742.                     <%= L_NEWLOGTIME %>
  743.                 </td>
  744.                 <td>
  745.                     <%if F_optLogPeriod = L_HOURLY then%>
  746.                         <input type=radio name=optLogPeriod value="<%=Server.HTMLEncode(L_HOURLY) %>" tabIndex=3 onclick="DisableFileTextBox();" checked>
  747.                     <%elseif F_selectActiveFormat = CONST_ODBCLOGFILE_FORMAT then %>
  748.                         <input type=radio name=optLogPeriod  value="<%=Server.HTMLEncode(L_HOURLY) %>" tabIndex=3 disabled onclick="DisableFileTextBox();">
  749.                     <%else%>
  750.                         <input type=radio name=optLogPeriod value="<%=Server.HTMLEncode(L_HOURLY) %>" tabIndex=3 onclick="DisableFileTextBox();">
  751.                     <%end if %>
  752.                 </TD>
  753.                 <td nowrap class="TasksBody">
  754.                     <%= L_HOURLY %>
  755.                 </td>
  756.                 <td>
  757.                     <%if F_optLogPeriod = L_MONTHLY and F_selectActiveFormat <> CONST_ODBCLOGFILE_FORMAT then%>
  758.                         <input type=radio name=optLogPeriod value="<%=Server.HTMLEncode(L_MONTHLY) %>"  onclick="DisableFileTextBox();" tabIndex=4 checked>
  759.                     <%elseif F_selectActiveFormat = CONST_ODBCLOGFILE_FORMAT then %>
  760.                         <input type=radio name=optLogPeriod disabled value="<%=Server.HTMLEncode(L_MONTHLY) %>" tabIndex=4 onclick="DisableFileTextBox();">
  761.                     <%else%>
  762.                         <input type=radio name=optLogPeriod value="<%=Server.HTMLEncode(L_MONTHLY) %>" tabIndex=4 onclick="DisableFileTextBox();" >
  763.                     <%end if %>
  764.                 </td>
  765.                 <td nowrap class="TasksBody">
  766.                     <%= L_MONTHLY %>
  767.                 </td>
  768.             </TR>
  769.             <TR>
  770.                 <td colspan=2 >
  771.                 </td>
  772.                 <TD>
  773.                     <%if F_optLogPeriod = L_DAILY then%>
  774.                         <input type=radio name=optLogPeriod value="<%=Server.HTMLEncode(L_DAILY) %>" tabIndex=5 onclick="DisableFileTextBox();" checked>
  775.                     <%elseif F_selectActiveFormat = CONST_ODBCLOGFILE_FORMAT then %>                        
  776.                         <input type=radio value="<%=Server.HTMLEncode(L_DAILY) %>" name=optLogPeriod disabled tabIndex=5 onclick="DisableFileTextBox();">
  777.                     <% else %>
  778.                         <input type=radio name=optLogPeriod value="<%=Server.HTMLEncode(L_DAILY) %>" tabIndex=5 onclick="DisableFileTextBox();" >
  779.                     <%end if%>
  780.                 </TD>
  781.                 <td width=50% nowrap class="TasksBody">
  782.                     <%= L_DAILY %>
  783.                 </td>
  784.                 <TD>
  785.                     <%if F_optLogPeriod = L_UNLIMITEDFILESIZE and F_selectActiveFormat <> CONST_ODBCLOGFILE_FORMAT then%>
  786.                         <input type=radio name=optLogPeriod checked value ="<%=Server.HTMLEncode(L_UNLIMITEDFILESIZE) %>" tabIndex=6 onclick="DisableFileTextBox();" > 
  787.                     <%elseif F_selectActiveFormat = CONST_ODBCLOGFILE_FORMAT then %>
  788.                         <input type=radio value ="<%=Server.HTMLEncode(L_UNLIMITEDFILESIZE) %>"  name=optLogPeriod disabled tabIndex=6 onclick="DisableFileTextBox();">
  789.                     <%else%>
  790.                         <input type=radio name=optLogPeriod value ="<%=Server.HTMLEncode(L_UNLIMITEDFILESIZE) %>" tabIndex=6 onclick="DisableFileTextBox();" > 
  791.                     <%end if %>
  792.                 </TD>
  793.                 <td width=50% nowrap class="TasksBody">
  794.                     <%= L_UNLIMITEDFILESIZE %>
  795.                 </td>
  796.             </TR>
  797.             <TR>
  798.                 <td colspan=2 >
  799.                 </td>
  800.                 <td>
  801.                     <%if F_optLogPeriod = L_WEEKLY then%>
  802.                         <input type=radio name=optLogPeriod onclick="DisableFileTextBox();" value="<%=Server.HTMLEncode(L_WEEKLY) %>" tabIndex=7 checked> 
  803.                     <%elseif F_selectActiveFormat = CONST_ODBCLOGFILE_FORMAT then %>
  804.                         <input type=radio value="<%=Server.HTMLEncode(L_WEEKLY) %>" name=optLogPeriod disabled tabIndex=7 onclick="DisableFileTextBox();">                                         
  805.                     <%else%>
  806.                         <input type=radio name=optLogPeriod value="<%=Server.HTMLEncode(L_WEEKLY) %>" tabIndex=7 onclick="DisableFileTextBox();" >                     
  807.                     <%end if%>
  808.                 </td>
  809.                 <td colspan=3 nowrap class="TasksBody">
  810.                     <%= L_WEEKLY %>
  811.                 </td>
  812.             </TR>
  813.             <TR>
  814.                 <td colspan=2 >
  815.                 </td>
  816.                 <TD >
  817.                     <%if F_optLogPeriod = L_FILE then%>
  818.                         <input type=radio name=optLogPeriod value ="<%=Server.HTMLEncode(L_FILE) %>" checked tabIndex=8 onclick="javascript:enableFileTextBox();">
  819.                         </td><td colspan=3 nowrap class="TasksBody"><%=L_WHENFILESIZE %>  
  820.                         <input type=text name=txtFileSize class="formField" value="<%=Server.HTMLEncode(F_FileSize)%>" OnKeyUP="javaScript:checkUserLimit(this,'filesize');" OnKeypress="javaScript:checkKeyforNumbers(this);" onblur = "checkforEmptyfield();" size="20"> 
  821.                     <%elseif F_selectActiveFormat = CONST_ODBCLOGFILE_FORMAT then %>
  822.                         <input type=radio name=optLogPeriod disabled tabIndex=8 value ="<%=Server.HTMLEncode(L_FILE) %>" onclick="javascript:enableFileTextBox();" >
  823.                         </td><td colspan=3 nowrap class="TasksBody"><%=L_WHENFILESIZE %>  
  824.                         <input type=text name=txtFileSize class="formField" disabled value="<%=Server.HTMLEncode(F_FileSize)%>" OnKeyUP="javaScript:checkUserLimit(this,'filesize');" OnKeypress="javaScript:checkKeyforNumbers(this);" onblur = "checkforEmptyfield();" size="20"> 
  825.                     <%else%>
  826.                         <input type=radio name=optLogPeriod value ="<%=Server.HTMLEncode(L_FILE) %>" tabIndex=8 onclick="javascript:enableFileTextBox();">
  827.                         </td><td colspan=3 nowrap class="TasksBody"><%=L_WHENFILESIZE %>  
  828.                         <input type=text name=txtFileSize class="formField"  disabled value="<%=Server.HTMLEncode(F_FileSize)%>" OnKeyUP="javaScript:checkUserLimit(this,'filesize');" OnKeypress="javaScript:checkKeyforNumbers(this);" onblur = "checkforEmptyfield();" size="20">
  829.                     <%end if %>
  830.                 </TD>
  831.             </TR>
  832.             <tr>
  833.                 <td>
  834.                      
  835.                 </td>
  836.             </tr>
  837.             <tr>
  838.                 <td></td>
  839.                 <td colspan=5 class="TasksBody">
  840.                         <%if F_optLogPeriod = L_FILE or F_optLogPeriod = L_UNLIMITEDFILESIZE then%>
  841.                             <input type=checkbox name=chkLocalTime tabIndex=9 disabled value="ON">
  842.                         <%else%>
  843.                             <%if F_selectActiveFormat = CONST_W3CEXLOGFILE_FORMAT and F_LocalTime=true then %>
  844.                                 <input type=checkbox name=chkLocalTime tabIndex=9 checked value="ON">
  845.                             <%elseif F_selectActiveFormat = CONST_W3CEXLOGFILE_FORMAT and F_LocalTime=false then %>
  846.                                 <input type=checkbox tabIndex=9 name=chkLocalTime value="ON">
  847.                             <%else%>
  848.                                 <input type=checkbox name=chkLocalTime tabIndex=9 disabled value="ON">
  849.                             <%end if%>
  850.                         <%end if%>
  851.                           <%=    L_LOCALTIME %>
  852.                 </td>
  853.             </tr>
  854.             <tr>
  855.                 <td>
  856.                 </td>
  857.                 <td colspan=5 class="TasksBody">
  858.                     <%= L_LOGFILEDIR %>
  859.                       
  860.                     <%if F_selectActiveFormat = CONST_ODBCLOGFILE_FORMAT then %>
  861.                         <input type=text disabled name=txtLogFileDir class="formField" tabIndex=11 onKeyPress= "ClearErr();" size=40  value="<%=F_LogFileDir%>">
  862.                     <%else%>
  863.                         <input type=text name=txtLogFileDir class="formField"  size=40 tabIndex=11 onKeyPress= "ClearErr();"value="<%=F_LogFileDir%>">
  864.                     <%end if%>
  865.                 </td>
  866.             </tr>
  867.         </table>
  868.         <input type=hidden name=fileRollOver>
  869.         <input type=hidden name=hdnEnableLog>
  870. <%                
  871.     End Function
  872.     
  873.     '-------------------------------------------------------------------------
  874.     'Function name:            ServeVariablesFromForm()
  875.     'Description:            Serves in getting the data from Client 
  876.     'Input Variables:        None    
  877.     'Output Variables:        None
  878.     'Returns:                True/False
  879.     'Global Variables:        None
  880.     '-------------------------------------------------------------------------
  881.     Function ServeVariablesFromForm
  882.     
  883.         'setting the form variables
  884.         F_chkEnableLogging = Request.Form("hdnEnableLog")
  885.         F_selectActiveFormat = Request.Form("selectActiveFormat")
  886.         F_optLogPeriod = Request.Form("optLogPeriod")
  887.         
  888.         F_FileSize = Request.Form("txtFileSize")
  889.         F_LocalTime = Request.Form("fileRollOver")
  890.         F_LogFileDir = Request.Form("txtLogFileDir")
  891.         F_IISSites = Request.Form("selectSites")        
  892.         
  893.         'F_SiteCriteria = Request.Form("optAllSites")
  894.     
  895.         'set the master settings
  896.         If SetLogSettings()then
  897.            ServeVariablesFromForm = true
  898.         else
  899.             ServeVariablesFromForm = false
  900.         end if    
  901.  
  902.     End Function    
  903.     
  904.     '-------------------------------------------------------------------------
  905.     'Function name:            SetVariablesFromSystem
  906.     'Description:            Serves in Getting the data from Client 
  907.     'Input Variables:        None    
  908.     'Output Variables:        None
  909.     'Returns:                None
  910.     'Global Variables:        G_objService
  911.     '                        G_objSites
  912.     '-------------------------------------------------------------------------
  913.     
  914.     Function SetVariablesFromSystem()
  915.     
  916.         Dim inst
  917.         Dim strQuery 
  918.         Dim objLogFormat
  919.         Dim instLog
  920.         
  921.         for each inst in G_objSites
  922.             select case inst.Logtype
  923.                 case 1
  924.                     F_chkEnableLogging = "true"
  925.                 case else
  926.                     F_chkEnableLogging = "false"                    
  927.             end select
  928.  
  929.             if F_chkEnableLogging = "true" then
  930.                 F_selectActiveFormat = IISLogFileGUIDToENName(inst.LogPluginClsId)
  931.             end if
  932.             select case inst.LogFilePeriod
  933.                 case 1
  934.                     F_optLogPeriod = L_DAILY
  935.                 case 2
  936.                     F_optLogPeriod = L_WEEKLY
  937.                 case 3
  938.                     F_optLogPeriod = L_MONTHLY
  939.                 case 4
  940.                     F_optLogPeriod = L_HOURLY
  941.                 case 0
  942.                     if inst.LogFileTruncateSize <>-1 then
  943.                         F_optLogPeriod = L_FILE
  944.                     else
  945.                         F_optLogPeriod =L_UNLIMITEDFILESIZE
  946.                     end if
  947.             end select
  948.             if     F_optLogPeriod = L_FILE  then
  949.                 F_FileSize = inst.LogFileTruncateSize / (1024*1024)
  950.             else
  951.                 F_FileSize = ""
  952.             end if
  953.  
  954.             F_LocalTime = inst.LogFileLocaltimeRollover            
  955.  
  956.             
  957.             if inst.LogFileDirectory = "" then
  958.                 Dim objSysDrive,strSysDrive
  959.                 Set objSysDrive = server.CreateObject("Scripting.FileSystemObject")
  960.                 strSysDrive = objSysDrive.GetSpecialFolder(1).Drive ' 1 for systemfolder,0 for windows folder
  961.                 F_LogFileDir = strSysDrive & "\" & CONST_DEF_WEBROOT
  962.             else
  963.                 F_LogFileDir = inst.LogFileDirectory                
  964.             end if
  965.             exit for
  966.         next
  967.         
  968.         'Getting values from system
  969.     End Function
  970.         
  971.     '-------------------------------------------------------------------------
  972.     'Function name:            InitObjects
  973.     'Description:            Initialization of global variables is done
  974.     'Input Variables:        None
  975.     'Returns:                true/false
  976.     'Global Variables:        G_objService
  977.     '                        G_objSites
  978.     '--------------------------------------------------------------------------
  979.     
  980.     Function InitObjects()
  981.         Err.Clear
  982.         on error resume next
  983.         
  984.         ' Get instances of IIS_FTPServiceSetting that are visible throughout
  985.         Set G_objService = getWMIConnection(CONST_WMI_IIS_NAMESPACE)
  986.         set G_objSites = G_objService.InstancesOf(GetIISWMIProviderClassName("IIS_FTPServiceSetting"))
  987.  
  988.         if Err.number <> 0 or G_objSites.count = 0 then
  989.             FTPInstalled = false
  990.             Err.Clear
  991.         else
  992.             FTPInstalled = true
  993.         end if
  994.         
  995.     end function
  996.     
  997.     
  998.     '----------------------------------------------------------------------
  999.     'Function name:            SetLogSettings
  1000.     'Description:            Serves in setting the logs to the FTP server
  1001.     'Input Variables:        None    
  1002.     'Output Variables:        boolean
  1003.     'Returns:                None
  1004.     'Global Variables:        G_objService
  1005.     '----------------------------------------------------------------------
  1006.     
  1007.     Function SetLogSettings()
  1008.  
  1009.         on error resume next
  1010.     
  1011.         Dim strObjPath
  1012.         
  1013.         InitObjects()
  1014.         
  1015.         if FTPInstalled = true then        
  1016.             SetLogSettings = false        
  1017.         
  1018.             if F_chkEnableLogging = "true" then
  1019.                 if ValidateInputs = True then            
  1020.                     
  1021.                     'select case F_SiteCriteria
  1022.                         
  1023.                         'apply to all sites                
  1024.                             if NOT SetLogsForAllSites(G_objService) then                
  1025.                                 ServeFailurePage L_FAIL_TO_SET_LOGS, sReturnURL
  1026.                             end if
  1027.         
  1028.                     SetLogSettings = true
  1029.                     exit function
  1030.                     
  1031.                 end if
  1032.             else
  1033.                 
  1034.                 Dim inst
  1035.                 Dim objSite
  1036.                 Dim arrProp(4)
  1037.                 
  1038.                 arrProp(0) = "LogType"
  1039.                 arrProp(1) = "LogPluginClsId"
  1040.                 arrProp(2) = "LogFilePeriod"
  1041.                 arrProp(3) = "LogFileTruncateSize"
  1042.                 arrProp(4) = "LogFileLocaltimeRollover"
  1043.                 
  1044.                         
  1045.                         strObjPath = GetIISWMIProviderClassName("IIs_FtpServiceSetting") & ".Name='MSFTPSVC'"
  1046.                         set objSite = G_objService.Get(strObjPath)
  1047.                         
  1048.                         if Err.number <> 0 then
  1049.                             SetErrMsg L_INFORMATION_ERRORMESSAGE
  1050.                             exit function            
  1051.                         end if
  1052.                         
  1053.                         
  1054.                         objSite.Logtype = 0
  1055.                     
  1056.                         objSite.put_(WBEMFLAG)
  1057.                     
  1058.                         if Err.number <> 0 then
  1059.                             SA_TraceOut "Ftp_LogSettings",  L_FAIL_TO_SET_LOGS
  1060.                             SetLogSettings = false
  1061.                             exit function
  1062.                         end if                        
  1063.                     
  1064.                         
  1065.                         Err.Clear                        
  1066.                         Set objSite = GetNonInheritedFTPSites(G_objService, "IIS_FTPServerSetting","IIS_FTPServiceSetting", arrProp)
  1067.                         If ( Err.Number <> 0 ) Then
  1068.                             Call SA_TraceOut(SA_GetScriptFileName(), "GetNonInheritedFTPSites failed, error: " & Hex(Err.Number) & " " & Err.Description)
  1069.                             SetLogSettings  = true
  1070.                             exit function
  1071.                         End If
  1072.                         
  1073.                         if (IsNull(objSite) OR objSite.count = 0) then
  1074.  
  1075.                             SetLogSettings  = true
  1076.                             exit function
  1077.                         end if
  1078.                         
  1079.                         for each inst in objSite
  1080.                             
  1081.                             inst.Logtype = 0
  1082.                             
  1083.                             inst.put_(WBEMFLAG)
  1084.                             
  1085.                             if Err.number <> 0 then
  1086.                                 SA_TraceOut "Ftp_LogSettings",  L_FAIL_TO_SET_LOGS
  1087.                                 SetLogSettings = false
  1088.                                 exit function
  1089.                             end if                                            
  1090.                         
  1091.                         next 
  1092.                               
  1093.                 SetLogSettings = true
  1094.         end if
  1095.     end if
  1096.  
  1097.     'release the object
  1098.     set G_objService = nothing
  1099.     set G_objSites = nothing
  1100.     set objSite = nothing
  1101.             
  1102.     end function
  1103.     
  1104.     
  1105.     '-----------------------------------------------------------------------------------------------------------
  1106.     'Function name:            SetLogsForAllSites
  1107.     'Description:            Serves in setting the logs to the new FTP sites
  1108.     'Input Variables:        G_objService    
  1109.     'Output Variables:        boolean
  1110.     'Returns:                None
  1111.     'Global variables:        G_objService
  1112.     'Other functions called:GetNonInheritedFTPSites
  1113.     '-----------------------------------------------------------------------------------------------------------
  1114.         
  1115.     Function SetLogsForAllSites(G_objService)
  1116.         Err.Clear
  1117.         On error resume next
  1118.         
  1119.         Dim objSite
  1120.         Dim inst
  1121.         Dim arrProp(4)
  1122.     
  1123.         'Set Master settings        
  1124.         SetLogsForNewSites G_objService
  1125.         
  1126.         SetLogsForAllSites  = false
  1127.  
  1128.         arrProp(0) = "LogType"
  1129.         arrProp(1) = "LogPluginClsId"
  1130.         arrProp(2) = "LogFilePeriod"
  1131.         arrProp(3) = "LogFileTruncateSize"
  1132.         arrProp(4) = "LogFileLocaltimeRollover"
  1133.         
  1134.         Set objSite = GetNonInheritedFTPSites(G_objService, GetIISWMIProviderClassName("IIS_FTPServerSetting"),GetIISWMIProviderClassName("IIS_FTPServiceSetting"), arrProp)
  1135.         if (Err.number <> 0) then
  1136.             SetLogsForAllSites = false
  1137.             exit function
  1138.         end if
  1139.         if objSite.count = 0 then
  1140.             SetLogsForAllSites  = true
  1141.             exit function
  1142.         end if
  1143.  
  1144.         for each inst in objSite
  1145.  
  1146.             if not SetLogs(inst) then
  1147.                 
  1148.                 SA_TraceOut "Web_LogSettings",  L_FAIL_TO_SET_LOGS
  1149.                 SetLogsForAllSites  = false
  1150.                 exit function
  1151.                 
  1152.             end if
  1153.         
  1154.         next    
  1155.         
  1156.         'release the object
  1157.         set objSite = nothing
  1158.         
  1159.         SetLogsForAllSites  = true
  1160.         
  1161.     End Function
  1162.     
  1163.  
  1164.     '-----------------------------------------------------------------------------------------------------------
  1165.     'Function name:            SetLogsForNewSites
  1166.     'Description:            Serves in setting the logs to the new FTP sites
  1167.     'Input Variables:        G_objService    
  1168.     'Output Variables:        boolean
  1169.     'Returns:                None
  1170.     'Global Variables:        G_objService
  1171.     '-----------------------------------------------------------------------------------------------------------
  1172.     
  1173.     Function SetLogsForNewSites(G_objService)
  1174.         Err.Clear
  1175.         On error resume next
  1176.         
  1177.         Dim objSite
  1178.         Dim strObjPath
  1179.         
  1180.         SetLogsForNewSites = false
  1181.         
  1182.         strObjPath = GetIISWMIProviderClassName("IIs_FtpServiceSetting") & ".Name='MSFTPSVC'"
  1183.         
  1184.         set objSite = G_objService.Get(strObjPath)
  1185.         if Err.number <> 0 then
  1186.             SetErrMsg L_INFORMATION_ERRORMESSAGE
  1187.             exit function            
  1188.         end if
  1189.         
  1190.             
  1191.         if not SetLogs(objSite) then
  1192.                 
  1193.             SA_TraceOut "FTP_LogSettings",  L_FAIL_TO_SET_LOGS
  1194.                 
  1195.         end if
  1196.             
  1197.         SetLogsForNewSites = true
  1198.  
  1199.         'release the object
  1200.         set objSite = nothing
  1201.         
  1202.         SetLogsForNewSites = true
  1203.  
  1204.     End Function
  1205.     
  1206.     '----------------------------------------------------------------------------------------------------
  1207.     'Function name:            ValidateInputs
  1208.     'Description:            Check whether directory exists
  1209.     '                        If directory does not exist, create the web site if the drive letter is valid
  1210.     '                        else give error message
  1211.     'Input Variables:        None
  1212.     'Returns:                true/false
  1213.     'Global Variables:        None
  1214.     '-----------------------------------------------------------------------------------------------------
  1215.     
  1216.     Function ValidateInputs
  1217.         Dim strIndx
  1218.         Dim objFso
  1219.         Dim nRetVal
  1220.         Dim strDir 
  1221.         
  1222.         ValidateInputs = false
  1223.         
  1224.         if F_selectActiveFormat <> CONST_ODBCLOGFILE_FORMAT then
  1225.  
  1226.             Set objFso = server.CreateObject("Scripting.FileSystemObject")
  1227.             if Err.number <> 0 then
  1228.                 SetErrMsg L_FILEINFORMATION_ERRORMESSAGE
  1229.                 exit function
  1230.             end if            
  1231.             
  1232.             if mid(ucase(F_LogFileDir),1,8) = ucase("%WinDir%") then
  1233.                 strDir = objFso.GetSpecialFolder(0) & mid(F_LogFileDir,9)
  1234.                             
  1235.             elseif mid(ucase(F_LogFileDir),1,13) = ucase("%SystemDrive%") then
  1236.                 
  1237.                 strDir = objFso.GetSpecialFolder(0).Drive & mid(F_LogFileDir,14)
  1238.             else
  1239.                 strDir = F_LogFileDir
  1240.             end if
  1241.  
  1242.             nRetVal = CreateSitePath( objFso, strDir )
  1243.         
  1244.             if nRetVal <> CONST_SUCCESS then
  1245.  
  1246.                 if nRetVal = CONST_INVALID_DRIVE then
  1247.  
  1248.                     SetErrMsg L_INVALID_DRIVE_ERRORMESSAGE
  1249.  
  1250.                 elseif nRetVal = CONST_NOTNTFS_DRIVE then
  1251.     
  1252.                     SetErrMsg L_NOT_NTFS_DRIVE_ERRORMESSAGE
  1253.                 else
  1254.             
  1255.                     SetErrMsg L_FAILED_CREATE_DIR_ERRORMESSAGE
  1256.             
  1257.                 end if
  1258.     
  1259.                 exit Function
  1260.  
  1261.             end if
  1262.             
  1263.             Dim strDriveName,objDriveType, intDriveSize
  1264.                         
  1265.             strDriveName = left(strDir,2)
  1266.             if objFso.DriveExists(ucase(strDriveName)) then    
  1267.                 set objDriveType =  objFso.GetDrive(strDriveName)
  1268.                 intDriveSize = clng(objDriveType.TotalSize / (1024*1024))
  1269.             end if                    
  1270.  
  1271.             'Release the object
  1272.             set objDriveType = nothing
  1273.             
  1274.             if clng(F_FileSize) > intDriveSize then                        
  1275.                    L_DIRQUOTAERRORMESSAGE = GetLocString("GeneralSettings.dll", "C0420057", Array(CStr(intDriveSize)))
  1276.                 SetErrMsg(L_DIRQUOTAERRORMESSAGE)
  1277.                 exit Function            
  1278.             end if
  1279.                     
  1280.         end if
  1281.         
  1282.         ValidateInputs = true
  1283.         
  1284.         'Release the object
  1285.         set objFso = nothing
  1286.             
  1287.     End Function
  1288.     
  1289.     
  1290.     '------------------------------------------------------------------
  1291.     'Function name:            SetLogs
  1292.     'Description:            Serves in setting the logs
  1293.     'Input Variables:        inst    
  1294.     'Returns:                boolean 'true if no error occurs else false
  1295.     'Global Variables:        G_objService
  1296.     '------------------------------------------------------------------
  1297.         
  1298.     Function SetLogs(inst)
  1299.         On Error Resume Next
  1300.         Err.Clear 
  1301.         
  1302.         Dim strQuery
  1303.         Dim objLogFormat
  1304.         Dim instLog
  1305.         
  1306.         SetLogs = false
  1307.         
  1308.         inst.LogType = 1 'to enable logging
  1309.         inst.LogPluginClsId = IISLogFileENNameToGUID(F_selectActiveFormat)
  1310.                 
  1311.         if F_selectActiveFormat <> CONST_ODBCLOGFILE_FORMAT then                                                
  1312.  
  1313.             select case F_optLogPeriod
  1314.                 case L_DAILY
  1315.                     inst.LogFilePeriod = 1
  1316.                     inst.LogFileTruncateSize = 512 * 1024 * 1024                            
  1317.                 case L_WEEKLY
  1318.                     inst.LogFilePeriod = 2
  1319.                     inst.LogFileTruncateSize = 512 * 1024 * 1024                            
  1320.                 case L_MONTHLY
  1321.                     inst.LogFilePeriod = 3
  1322.                     inst.LogFileTruncateSize = 512 * 1024 * 1024                            
  1323.                 case L_HOURLY
  1324.                     inst.LogFilePeriod = 4
  1325.                     inst.LogFileTruncateSize = 512 * 1024 * 1024                            
  1326.                 case L_FILE
  1327.                     inst.LogFilePeriod = 0
  1328.                     if trim(F_FileSize) <> "" then                        
  1329.                         inst.LogFileTruncateSize = clng(F_FileSize) * 1024 * 1024                        
  1330.                     else
  1331.                         inst.LogFileTruncateSize = 1024 * 1024
  1332.                     end if
  1333.                 case L_UNLIMITEDFILESIZE
  1334.                     inst.LogFilePeriod = 0
  1335.                     inst.LogFileTruncateSize = -1
  1336.             end select
  1337.             
  1338.             inst.LogFileLocaltimeRollover = cbool(F_LocalTime)
  1339.  
  1340.             inst.LogFileDirectory = trim(F_LogFileDir)
  1341.  
  1342.         end if
  1343.  
  1344.         inst.put_(WBEMFLAG)        
  1345.             
  1346.         if Err.number <> 0 then
  1347.             SA_TraceOut "Ftp_LogSettings",  L_FAIL_TO_SET_LOGS
  1348.             SetLogs = false
  1349.             exit function
  1350.         end if
  1351.         
  1352.         'release the object
  1353.         set objLogFormat = nothing
  1354.         
  1355.         SetLogs = true
  1356.     
  1357.     End function
  1358. %>
  1359.